
local t = Def.ActorFrame{
-- banner title
	Def.ActorFrame{
	-- song or course banner
		Def.Sprite{
			InitCommand=cmd(Center;);
			ChangeCourseSongInMessageCommand=cmd(diffusealpha,0;);
			StartCommand=function(self)
				local song = SCREENMAN:GetTopScreen():GetNextCourseSong()
				local path;
				local BannerPath = song:GetBannerPath();
				local JacketPath = song:GetJacketPath();
				if song then
					if not BannerPath and not JacketPath then
						self:visible(true);
						BannerPath = THEME:GetPathG("Common fallback","banner");
						self:Load( BannerPath );
					elseif BannerPath and not JacketPath then
						self:visible(true);
						self:Load( BannerPath );
					else
						self:visible(false);
					end;
				end;
				self:x(SCREEN_RIGHT-210);
				self:y(SCREEN_CENTER_Y+60);
				self:diffusealpha(0);
				self:zoomtowidth(SCREEN_WIDTH*2);
				self:zoomtoheight(8/2);
				self:sleep(0.3);
				self:diffusealpha(1);
				self:accelerate(0.3);
				self:zoomtowidth(384);
				self:accelerate(0.2);
				self:zoomtoheight(110);
				self:sleep(1.2);
				self:linear(0.075);
				self:x(SCREEN_CENTER_X);
				self:linear(0.075);
				self:y(SCREEN_CENTER_Y-30);
				self:sleep(0.7);
				self:linear(0.2);
				self:diffusealpha(0);
			end;
		};
	};
};

return t;